Skip to content

Adopt ShellSyntaxTree 0.3.3 path facts - #1915

Merged
Aaronontheweb merged 1 commit into
devfrom
feature/adopt-shellsyntaxtree-0.3.3
Aug 13, 2026
Merged

Adopt ShellSyntaxTree 0.3.3 path facts#1915
Aaronontheweb merged 1 commit into
devfrom
feature/adopt-shellsyntaxtree-0.3.3

Conversation

@Aaronontheweb

Copy link
Copy Markdown
Collaborator

Summary

  • Upgrade Netclaw to public ShellSyntaxTree 0.3.3.
  • Accept only Exact or FiniteSet authored filesystem facts.
  • Send each strong path through ToolPathPolicy and approval scope checks.
  • Keep field splits, globs, substitutions, dynamic identities, redirects, providers, and unknown facts strict.
  • Update the exact D14 fixture and paired cross-repository evidence.

Result

D14 no longer becomes complex only because it contains a static for loop. A typed cat grant can cover it after all paths pass policy. Paths beneath the command cwd use one cwd scope. External paths keep exact scopes. Symlink paths fail closed.

Netclaw adds no executable-private parser. ShellSyntaxTree owns the cat operand fact. Netclaw owns path policy and authority.

Validation

  • Public-package restore from an empty cache resolved ShellSyntaxTree/0.3.3.
  • Release solution build passed with zero warnings.
  • Full local suite passed: 7,138 tests with 15 expected skips.
  • Security suite passed: 906 tests.
  • Approval matrix passed: 253 tests.
  • Strict OpenSpec and copyright header checks passed.
  • The paired evidence file matches SHA-256 0169105e....
  • Adversarial review returned PASS with no warnings.
  • Slopwatch found one old warning in an unchanged test from commit 86820494.

Native Windows CI remains a merge gate.

@Aaronontheweb
Aaronontheweb enabled auto-merge (squash) August 13, 2026 04:46
Comment on lines +353 to +366
foreach (var argument in occurrence.Arguments)
{
if (argument.Argument.IsPath)
continue;

var authoredDirectories = ResolveAuthoredFileSystemDirectories(
argument.AuthoredFileSystemValue,
clauseWorkingDirectory,
pathStyle);
if (authoredDirectories is null)
return null;

directories.AddRange(authoredDirectories);
}
Comment on lines +137 to +139
var root = Path.Combine(
Path.GetTempPath(),
$"netclaw-authored-loop-{Guid.NewGuid():N}");
var root = Path.Combine(
Path.GetTempPath(),
$"netclaw-authored-loop-{Guid.NewGuid():N}");
var projectDirectory = Path.Combine(root, "project");
Path.GetTempPath(),
$"netclaw-authored-loop-{Guid.NewGuid():N}");
var projectDirectory = Path.Combine(root, "project");
var externalDirectory = Path.Combine(root, "external");
$"netclaw-authored-loop-{Guid.NewGuid():N}");
var projectDirectory = Path.Combine(root, "project");
var externalDirectory = Path.Combine(root, "external");
var externalFile = Path.Combine(externalDirectory, "secret.txt");
var projectDirectory = Path.Combine(root, "project");
var externalDirectory = Path.Combine(root, "external");
var externalFile = Path.Combine(externalDirectory, "secret.txt");
var link = Path.Combine(projectDirectory, "link.txt");
@Aaronontheweb
Aaronontheweb merged commit 46a2258 into dev Aug 13, 2026
39 checks passed
@Aaronontheweb
Aaronontheweb deleted the feature/adopt-shellsyntaxtree-0.3.3 branch August 13, 2026 05:21
@Aaronontheweb Aaronontheweb mentioned this pull request Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant